[小ネタ]dbt Cloudでtargetを切り替える方法
さがらです。
dbt Cloudでtarget
を切り替える方法について、本記事でまとめてみます。
※検証環境はdbt CloudのEnterpriseエディションとなり、2023年11月8日時点の情報となりますので、ご注意ください。
targetについて
dbt Cloudの場合は、「dbtコマンドの実行対象となる環境は開発環境・CI環境・本番環境いずれとなるか」をtarget
という変数で定義し、Jinja経由でtarget
の値を参照してdbtの各種configや実行されるSQLの制御を切り替える際に使用する変数となります。
dbt Coreの場合は、profiles.yml
でDWHへの認証情報や出力先を定義すると思いますが、その一つ一つの設定がtarget
として扱われます。dev
・ci
・prod
のように環境ごとに分けて管理することが多いと思います。
詳しくは下記の公式Docをご覧ください。
dbt CloudのIDE(開発環境)
まず、開発環境となるdbt CloudのIDEでdbtコマンドを実行する際のtarget
の変更方法についてです。
右上の歯車マークを押し、Profile settings
を押します。
画面左のSeetingsの項目一覧から、Your profile
内のCredentials
を押します。
使用できるdbt projectの一覧が表示されますので、target
を変更したいdbt projectを選択します。
すると対象のdbt projectの設定が開きますので、右下のEdit
を押した後、Target name
を変更し、右下のSave
を押します。これでdbt CloudのIDEにおけるtarget
の変更は完了です!
dbt Cloudのジョブ(CI環境・本番環境)
次に、CI環境や本番環境に該当するdbt Cloudのジョブの設定でのtarget
の変更方法についてです。(Environmentからはtarget
が設定できないため注意です。)
こちらについては、dbt Cloudでのジョブの設定の一番下にAdvanced settings
という項目があるのでここを開くと、Target name
という項目が出てくるので、これを編集してSave
を押せばOKです。